Migrate LHNOptionsList to Flashlist#31052
Conversation
There was a problem hiding this comment.
| style: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]), | |
| style: stylePropTypes, |
There was a problem hiding this comment.
| contentContainerStyles: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]).isRequired, | |
| contentContainerStyles: stylePropTypes, |
There was a problem hiding this comment.
| contentContainerStyles: stylePropTypes, | |
| contentContainerStyles: stylePropTypes.isRequired, |
rezkiy37
left a comment
There was a problem hiding this comment.
Sorry, one minor comment.
d4b2b23 to
2a51e8b
Compare
2a51e8b to
4d228b2
Compare
|
Investigating failed tests, once they are fixed it's ready for review. I will be off Thusday and Friday, In case I couldn't fix it today, could you plase take a look on it @adhorodyski ? 🙏 |
|
on it! |
d24eb58 to
c7257b3
Compare
|
Reduced the amount of failing tests from ~30 to 11 - all in |
|
@mountiny unfortunately we can't yet undraft this PR - there are still Reassure tests to be fixed (and they fail locally). Hopefully this can be resolved tomorrow. Unit tests are now passing 🙂 |
|
@ntdiary could you please start on testing this PR? In the meantime Callstack engineers will look into the failing reassure tests. Thank you! |
|
@mountiny, my plate is full at the moment, will request another c+. : ) |
|
Tests are fixed, but we are experiencing increased render count in reassure, for now I'm not sure if it's the way FlashList works - gonna investigate it tomorrow |
|
Investigated the increased amount of rerenders - according to the FlashList docs:
I think that's the main reason behind additional renders indicated by Reassure. With this in mind, would it be possible to merge that PR with Reassure GH Action failing? It should set a new baseline on |
cafc4c5 to
3c428c2
Compare
| }, | ||
|
|
||
| sidebarListContainer: { | ||
| scrollbarWidth: 'none', |
|
Rest looks good! |
|
@rushatgabhane thank you for your review, I addressed your comments |
|
Merging despite 2 extra re-renders in reassure. |
|
@roryabraham looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
|
Not an emergency, just establishing a new baseline for renders with a different component |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
Generating an AdHoc build for testing as I'm wondering if this PR introduced this regression. ... |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
|
Yeah, OptionsListSkeletonView modifications seems the likely cause of this regression. This ^ iOS build contains the regression @TMisiukiewicz are you able to look at this today? If not I can easily revert and we can attempt another PR this week. |
|
This maybe caused #31581 as well which was demoted to NAB as it's style issue |
|
@Julesssss @situchan taking a look on both issues now |
|
Okay, I'm pretty sure now that this PR introduced the issue as the parent commit of your first change doesn't contain the bug: RPReplay_Final1701186535.MP4 |
|
🚀 Deployed to production by https://github.com/luacmartins in version: 1.4.1-13 🚀
|
|
@roryabraham can I get a payment summary on this PR? @rushatgabhane is requesting payment. |
|
Yep, this is just a standard C+ PR review, but it caused a regression. So $250 to @rushatgabhane and that's all here. All other involved parties will invoice separately |
|
Thanks! $250 payment approved for @rushatgabhane based on comment above. |

Details
Fixed Issues
$ #30910
PROPOSAL:
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
ANDROID.mov
Android: mWeb Chrome
ANDROID_WEB.mov
iOS: Native
IOS.mp4
iOS: mWeb Safari
IOS_WEB.mp4
MacOS: Chrome / Safari
WEB.mov
MacOS: Desktop
DESKTOP.mov